package oop.core.entity;
/**
 * The superclass of DerivedStats, holds only the stats that all entities and Items have
 * (sorta)
 */
public class Stats {
	private int exp;
	private int lives;
	private int HP;
	private int MP;
	private int strength;
	private int agility;
	private int intellect;
	private int hardiness;
	private long movement;
	
	/**
	 * @param exp
	 * @param livesLeft
	 * @param currHP
	 * @param currMP
	 * @param strength
	 * @param agility
	 * @param intellect
	 * @param hardiness
	 */
	public Stats(int exp, int livesLeft, int currHP, int currMP,
			int strength, int agility, int intellect, int hardiness, long movement) {
		this.exp = exp;
		this.lives = livesLeft;
		this.HP = currHP;
		this.MP = currMP;
		this.strength = strength;
		this.agility = agility;
		this.intellect = intellect;
		this.hardiness = hardiness;
		this.movement = movement;
	}
	
	public Stats(Stats stats){
		this.exp = stats.getEXP();
		this.lives = stats.getLives();
		this.HP = stats.getHP();
		this.MP = stats.getMP();
		this.strength = stats.getStrength();
		this.agility = stats.getAgility();
		this.intellect = stats.getIntellect();
		this.hardiness = stats.getHardiness();
		this.movement = stats.getMovement();
	}
	
	public int getEXP() {
		return exp;
	}

	public void setEXP(int exp) {
		this.exp = exp;
	}

	public int getMP() {
		return MP;
	}

	public void setMP(int currMP) {
		this.MP = currMP;
	}

	public int getStrength() {
		return strength;
	}

	public void setStrength(int strength) {
		this.strength = strength;
	}

	public int getAgility() {
		return agility;
	}

	public void setAgility(int agility) {
		this.agility = agility;
	}

	public int getIntellect() {
		return intellect;
	}

	public void setIntellect(int intellect) {
		this.intellect = intellect;
	}

	public int getHardiness() {
		return hardiness;
	}

	public void setHardiness(int hardiness) {
		this.hardiness = hardiness;
	}
	
	public int getHP(){
		return HP;
	}
	
	public int getLives(){
		return lives;
	}
	
	public void setHP(int hp){
		HP = hp;
	}
	
	public void setLives(int lives){
		this.lives = lives;
	}

	public int getExp() {
		return exp;
	}

	public void setExp(int exp) {
		this.exp = exp;
	}

	public long getMovement() {
		return movement;
	}

	public void setMovement(long movement) {
		this.movement = movement;
	}
}
